using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;

public class 镜头控制 : MonoBehaviour
{
    Camera 相机;
    public 键位配置 配置;
    public Tilemap 地图;
    public TileBase 瓦片;
    void 前后(float 值)
    {
        transform.position += new Vector3(0, 值 * Time.deltaTime);
    }
    void 左右(float 值)
    {
        transform.position += new Vector3(值 * Time.deltaTime, 0);
    }

    private void Start()
    {
        输入管理器.获取实例.更新键位设置(配置);
        按键事件.获取实例.添加事件监听<float>("前进", 前后);
        按键事件.获取实例.添加事件监听<float>("后退", 前后);
        按键事件.获取实例.添加事件监听<float>("向左", 左右);
        按键事件.获取实例.添加事件监听<float>("向右", 左右);
        相机 = GetComponent<Camera>();
        帧更新控制器.获取实例.周期性调用方法(1, 检测区块);
    }

    private void Update()
    {
        相机.orthographicSize -= Input.GetAxis("Mouse ScrollWheel") * 5;
    }

    public void 检测区块()
    {
        区块加载控制器.获取实例.加载区块(transform.position.ToVector2());
    } 

    public Vector2 当前坐标;
    public int 边长 = 1;
    public int 区块大小 = 20;

    [ContextMenu("保存")]
    public void 保存()
    {
        游戏数据保存管理器.获取实例.保存存档();
    }

    [ContextMenu("读取")]
    public void 读取()
    {
        游戏数据保存管理器.获取实例.加载存档();
    }

}
